﻿/*************************************************************************************

- CLR版本：        4.0.30319.42000
- 类 名 称：       UserHelper
- 机器名称：       YTE
- 命名空间：       LD.Host.Common
- 文 件 名：       UserHelper
- 创建时间：       2022/9/8 15:58:32
- 作    者：       YTE
- 说   明：
- 修改时间：
- 修 改 人：
  *************************************************************************************/

using PubSub;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LD.Host
{
    public class UserHelper
    {
        private TB_User user;
        private string filePath = Path.Combine(Appbus.BasePath, "Config\\user.config");

        public List<TB_User> GetList
        {
            get;
            private set;
        } = new List<TB_User>();
        public TB_User CurrentUser
        {
            get { return user; }
            set
            {
                user = value;
                Hub.Default.Publish(new NotityHandler() { NtType = NotityType.用户, Data = value });
            }
        }
        private void Init()
        {
            List<TB_User> users = new List<TB_User>();
            users.Add(new TB_User()
            {
                Name = UserType.操作工.ToString(),
                Pwd = "123456",
            });
            users.Add(new TB_User()
            {
                Name = UserType.工程师.ToString(),
                Pwd = "123456",
            });
            users.Add(new TB_User()
            {
                Name = UserType.管理员.ToString(),
                Pwd = "ld",
            });
            GetList = users;

            foreach (var item in GetList)
            {
                Save(item);
            }
        }
        public void Load()
        {
            GetList = (List<TB_User>)SerializableHelper.DeSerialize(filePath);
            if (GetList == null)
            {
                Init();
            }
        }
        public void Save(TB_User user)
        {
            if (user != null)
            {
                var exist = GetList.Where(p => p.Name == user.Name).FirstOrDefault();
                exist = user;
            }
            SerializableHelper.Serialize(GetList, filePath);
        }
    }
    public enum UserType
    {
        管理员,
        工程师,
        操作工
    }
}
